import Element from '../dto/Element.js';

/**
 * Класс, описывающий список пар ключей и значений
 */
export default class ListElements {
    /**
     * @type {Array.<Element>}
     */
    data

    constructor(data) {
        this.data = data
    }

    /**
     * 
     * @param {object} obj объект, содержащий в себе элементы с указанными ключами и значениями
     */
    static BuildFromObj(array, keyName, valueName) {
        let correctList = new Array()

        for (let i = 0; i < array.length; i++) {
            let elem = Element.BuildFromNameAndValue(array[i][keyName], array[i][valueName])
            correctList.push(elem)
        }

        return new ListElements(correctList)
    }

    /**
     * @returns Получить список элементов
     */
    getData() {
        return this.data
    }
}